package com.qfedu.vhr.system.excel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.qfedu.vhr.system.entity.Joblevel;
import com.qfedu.vhr.system.service.IJoblevelService;

import java.util.ArrayList;
import java.util.List;

/**
 * @author baize
 * @date 2023/1/11
 * @site www.qfedu.com
 */
public class JobLevelListener implements ReadListener<Joblevel> {

    private List<Joblevel> list = new ArrayList<>();
    private IJoblevelService joblevelService;

    public JobLevelListener(IJoblevelService joblevelService) {
        this.joblevelService = joblevelService;
    }

    /**
     * 当 Excel 文件中，某一行解析完成之后，这个方法会被触发
     * @param joblevel
     * @param analysisContext
     */
    @Override
    public void invoke(Joblevel joblevel, AnalysisContext analysisContext) {
        list.add(joblevel);
    }

    /**
     * 所有行都解析完成之后，这个方法会被触发
     * @param analysisContext
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        joblevelService.saveBatch(list);
    }
}
